package sixth.Object类;

/**
 * 既然Object类是所有对象的子类 则肯定所有的对象都可以向Object进行转换，在这其中也包含了数组和接口类型，即一切的引用数据类型都可以使用Object进行接受
 */
interface A{
    public String getInfo();
}
class B implements A{
    public String getInfo(){
        return "Hello Java";
    }
}
public class 接受任意引用类型的对象 {
    public static void main(String[] args) {
        A a = new B();//为接口实例化
        Object obj = a;//对象向上转型
        A x=(A)a;
        System.out.println( x.getInfo());
    }
}
/*
D:\WorkSpaces\Java\jdk-21\bin\java.exe "-javaagent:D:\Software\IntelliJ IDEA\IntelliJ IDEA 2023.3.2\lib\idea_rt.jar=62708:D:\Software\IntelliJ IDEA\IntelliJ IDEA 2023.3.2\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\WorkSpaces\JavaDevelopBase_start_329\out\production\JavaDevelopBase_start_329 sixth.Object类.接受任意引用类型的对象
Hello Java

Process finished with exit code 0
 */
/**
 * 通过上面的代码发现 虽然接口不能继承一个类 但是依然是Object类的子类
 * 因为接口本身也是引用数据类型 所以可以进行向上转型操作
 * 同理，也可以用Object接口一个数组，因为数组本身也是引用数据类型
 */